### 2.14 `gcvt`, `gcvtf`—format double or float as string

Synopsis

         #include <stdlib.h>

         char *gcvt(double val, int precision, char *buf);
         char *gcvtf(float val, int precision, char *buf);

Description
`gcvt` writes a fully formatted number as a null-terminated string in the buffer `*`buf. `gcvtf` produces corresponding character representations of `float` numbers.

`gcvt` uses the same rules as the `printf` format ``%.`precision `g`'—only negative values are signed (with ``-`'), and either exponential or ordinary decimal-fraction format is chosen depending on the number of significant digits (specified by precision).

Returns
The result is a pointer to the formatted representation of val (the same as the argument buf).

Portability
Neither function is ANSI C.

Supporting OS subroutines required: `close`, `fstat`, `isatty`, `lseek`, `read`, `sbrk`, `write`.